﻿//////////////////////////////////////////////////////////////////////////////
//
//  Copyright © 1998-2024 Glodon Company Limited.  All rights reserved.
//
//  Use of this software is subject to the terms of the Glodon license
//  agreement provided at the time of installation or download, or which
//  otherwise accompanies this software in either electronic or hard copy form.  
//
//////////////////////////////////////////////////////////////////////////////

#pragma once

#include "GcmpCommonEdit.h"

namespace gcmp
{
    class IActionCopyBehavior;


    /// \brief 默认复制Action设置，用于创建复制Action参数。
    class GCMP_COMMON_EDIT_EXPORT ActionCopyInput
    {
    public:
        /// \brief 创建CopyAction配置
        ActionCopyInput();
        ~ActionCopyInput() {}

        /// \brief 获取CopyAction的Behavior
        /// \return 复制Action的Behavior指针
        OwnerPtr<IActionCopyBehavior> GetCopyActionBehavior();

        /// \brief 设置CopyAction的Behavior
        /// \param opCopyActionBehavior 复制Action的Behavior
        void SetCopyActionBehavior(OwnerPtr<IActionCopyBehavior> opCopyActionBehavior);

    private:
        gcmp::OwnerPtr<IActionCopyBehavior> m_opCopyActionBehavior;
    };
}